package com.heima.pojo.dto;

import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import javax.validation.constraints.PositiveOrZero;

/**
 * 节点与虚拟机类型关联数据传输对象
 * 用于接收创建用户ID、节点ID和虚拟机类型的请求参数
 */
@Data
public class NodeVmDTO {

    /**
     * 创建用户ID
     * 校验规则：非空且为正整数（用户ID通常从1开始）
     */
    @NotNull(message = "创建用户ID不能为空")
    @Positive(message = "创建用户ID必须为正整数")
    private Integer createUserId;

    /**
     * 节点ID
     * 校验规则：非空且为正整数字符串（JSON中为字符串类型，保持类型一致）
     */
    @NotNull(message = "节点ID不能为空")
    private String nodeId;

    /**
     * 虚拟机类型
     * 校验规则：非空且为非负整数（类型标识通常为0、1、2等）
     */
    @NotNull(message = "虚拟机类型不能为空")
    @PositiveOrZero(message = "虚拟机类型必须为非负整数")
    private Integer vmType;
}
